package com.bmft;

import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author Jarvan
 * @create 2020/8/14 13:04
 */
public class HashTest {

    public static void main(String[] args) {

        Jedis jedis = new Jedis("192.168.43.130", 6000);

        jedis.flushDB();

        Map<String, String> map = new HashMap<>();

        map.put("key1", "value1");

        map.put("key2", "value2");

        map.put("key3", "value3");

        map.put("key4", "value4");

//添加名称为hash（key）的hash元素

        jedis.hmset("hash", map);

//向名称为hash的hash中添加key为key5，value为value5元素

        jedis.hset("hash", "key5", "value5");

        System.out.println("散列hash的所有键值对 为：" + jedis.hgetAll("hash"));//return Map<String,String>

        System.out.println("散列hash的所有键为：" + jedis.hkeys("hash"));//return  Set<String>

        System.out.println("散列hash的所有值为：" + jedis.hvals("hash"));//return List<String>

        System.out.println("将key6保存的值加上一个整数，如果key6不存在则添加key6：" + jedis.hincrBy("hash", "key6", 6));

        System.out.println("散列hash的所有键值对为：" + jedis.hgetAll("hash"));

        System.out.println("将key6保存的值加上一个整数，如果key6不存在则添加 key6：" + jedis.hincrBy("hash", "key6", 3));

        System.out.println("散列hash的所有键值对为：" + jedis.hgetAll("hash"));

        System.out.println("删除一个或者多个键值对：" + jedis.hdel("hash",

                "key2"));

        System.out.println("散列hash的所有键值对为：" + jedis.hgetAll("hash"));

        System.out.println("散列hash中键值对的个数：" + jedis.hlen("hash"));

        System.out.println("判断hash中是否存在 key2：" + jedis.hexists("hash", "key2"));

        System.out.println("判断hash中是否存在 key3：" + jedis.hexists("hash", "key3"));

        System.out.println("获取hash中的值：" + jedis.hmget("hash", "key3"));

        System.out.println("获取hash中的 值：" + jedis.hmget("hash", "key3", "key4"));

    }
}






